﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HomeWork
{
    internal class Summary : Content,IValuable
    {

        private string _content; //存储总结的核心内容（如 “核心观点”“关键结论”）
        public string Content
        {
            get => _content;
            set
            {
                if (string.IsNullOrWhiteSpace(value))
                    throw new ArgumentException("总结内容不能为空", nameof(value));
                _content = value;
            }
        }                 
        public SummaryStatus Status { get; set; } // 总结状态

        // 实现IValuable接口
        
        public ValuableType Type => ValuableType.helpSummary; // 标记为“求助总结”类型
        public Guid AuthorId { get; init; } // 总结作者ID（需新增）
        public int LikeCount { get; set; } = 0; // 点赞数（替代LikeSystem的计数）
        public int DislikeCount { get; set; } = 0; // 点踩数
        public DateTime CreatedAt { get; init; } = DateTime.Now; //创建时间     


        public override void Publish()
        {
            ValidateAuthorNotNull(); // 校验作者不为空
            throw new NotImplementedException();
        }

        public enum SummaryStatus
        {
            Draft,    // 草稿（未完成）
            Published,// 已发布（可公开）
            Deleted   // 已删除（逻辑删除）
        }

        public Summary( string content, Guid creatorId)
        {            
            Content = content; // 触发set校验
            AuthorId = creatorId;
            CreatedAt = DateTime.Now; // 默认赋值当前时间
            Status = SummaryStatus.Draft; // 默认状态为草稿
        }
    }
}
